package com.smalldragon.yml.interceptors.constants;

/**
 * 拦截器执行顺序常量
 *
 * 拦截器 order 值越小，优先级越高
 * Spring Boot 内置拦截器的 order 通常在 0-100 之间
 * 为了确保认证拦截器最优先执行，使用负数
 */
public class InterceptorOrder {

    /**
     * 认证和权限拦截器 - 最高优先级
     * 必须在所有业务逻辑之前执行，确保用户上下文已设置
     */
    public static final int AUTHENTICATION = -1000;

    /**
     * 安全相关拦截器
     * 如CORS、安全头设置等
     */
    public static final int SECURITY = -900;

    /**
     * 用户上下文和租户处理拦截器
     */
    public static final int USER_CONTEXT = -800;

    /**
     * 缓存和性能拦截器
     */
    public static final int CACHE = -700;

    /**
     * 业务日志和监控拦截器
     */
    public static final int LOGGING = 100;

    /**
     * 业务处理拦截器
     */
    public static final int BUSINESS = 200;

    /**
     * 统计和分析拦截器
     */
    public static final int ANALYTICS = 300;
}
